//cards.cpp
//
#include "cards.h"

//initializes
Cards::Cards(){
  intValue = 0;
  intSuit = 0;
  thisValue = joker;
  thisSuit = wildCard;
  // cout<<thisValue<<endl;
  // cout<<thisSuit<<endl;
  visible = 1;
}

Cards::Cards(int value, Cards::Suit suit){
  //cout << "In Cards(value,suit) value: "<< value << endl;
  //cout << "In Cards(value,suit) suit: " << suit << endl;
  intValue=value;
  intSuit=suit;
  thisSuit = suit;
  visible = 1;
}

int Cards::GetValue() const{
  return intValue;
}

int Cards::GetSuit() const{
  return intSuit;
}

string Cards::StringSuit() const{
  //insert code
  int suitint = GetSuit();
  switch (suitint)
  {
  case 0 : return "Joker";
  case 1 : return "Spades";
  case 2 : return "Clubs";
  case 3 : return "Diamonds";
  case 4 : return "Hearts";
  default : return "CARD_NOT_RECOGNIZED";
  }
}

string Cards::ValueString() const
{
  int cardvalue = GetValue();
  switch (cardvalue)
  {
  case 0 : return "Joker";
  case 1 : return "Ace";
  case 2 : return "2";
  case 3 : return "3";
  case 4 : return "4";
  case 5 : return "5";
  case 6 : return "6";
  case 7 : return "7";
  case 8 : return "8";
  case 9 : return "9";
  case 10 : return "10";
  case 11 : return "Jack";
  case 12 : return "Queen";
  case 13 : return "King";
  default : return "CARD_NOT_RECOGNIZED";
  }
}


bool Cards::SameSuit(const Cards& card){
  //insert code
}

string Cards::StringCard(){
  //insert code
  string out;
  out = ValueString() + "_of_" + StringSuit();
  return out;
}
bool Cards::Joker() const{
  //insert code
}
